1. Technical Field
This invention relates to employment of multiple application instances on a client machine. More specifically, the invention relates to managing opening of multiple application instances for a single application.
2. Description of the Prior Art
In a computer system, a window is a rectangular area on a visual display. Most operating systems and applications have a graphical user interface that divides the visual display into one or more windows. A different program may run within each window, or different data may be displayed within each window.
Windows are particularly useful in multitasking environments, which allow a user to execute several programs at once. By dividing the visual display into multiple windows, output from the executing programs may be allocated to different windows and displayed at the same time. Selection of a window in a multiple window environment is facilitated with use of an input device and movement of a cursor to a select window.
In addition to dividing the visual display into one or more windows, the graphical user interface may enable the user to set the dimensions and position of each window. For example, in one embodiment windows can be arranged so that they do not overlap, while in another embodiment, windows can be arranged to overlap. Overlaid windows, which are also known as cascading windows, resemble a stack of paper lying on top of one another, with only the top window displayed in full. By positioning and employing the input device on a portion of a partially visible window, the selected window can be moved to the top of the stack. Similarly, any window can be selected to fill the entire size of the visual display by selecting a full display size function of the window.
In addition to moving windows, changing their size, popping, and zoom features, each window can be minimized and replaced with an icon. In one embodiment, an icon is a small picture that represents the program running in the window. By converting the window to an icon, space on the visual display is made available for other windows while continuing to allow direct access to the minimized window through the icon.
It is known in the art that some computer systems require a limit to the quantity of windows open at a given time, wherein each window is associated with an application instance. As explained above, each window may be executing a different program. The ability for the computer to execute multiple programs at the same time is limited by the physical hardware present in the computer. For example, limitations may be present based upon the processor unit employed, the hardware memory employed, the storage media available, etc. Accordingly, there are some restrictions on the quantity of windows available based upon the innate characteristics of the hardware of the computer itself.
In a web based application, an operation method is sometimes employed such that various application menus are displayed in a single window, known as a parent window. FIG. 1 is a prior art block diagram (100) showing a parent window (110) residing on a server (105) and two child windows (120) and (130) residing on a single client machine (140). The parent window (110) is shown displaying a menu of multiple applications (112), (114), and (116) that may be started and displayed in a new child window. As shown, selection of application A (112) results in creation of a first child window (120) with application A (122) shown in the window (120). Similarly, selection of application B (114) results in creation of a second child window (130) with application B (132) shown in the window (130). Accordingly, by employing a separate window for each application, users can simultaneously utilize multiple applications by switching focus between the child windows (120) and (130).
However, there are situations that arise in the simultaneous use of applications in multiple windows that can cause errors within the applications themselves. One example of an error prone situation is when a first application (122) is started on a first child window (120) and the same application (122) is started on a second child window (130) in the same client machine (140). In a web based environment, interference of the first executing application (122) in the first child window (120) with the same application (122) in the second child window (130) may cause a data mismatch. Another example of a data mismatch is when multiple applications exclusively use a single resource. Accordingly, there is a need to manage session data in a windows environment that mitigates data mismatch among multiple windows and their associated applications.